The present invention generally relates to methods for displaying graphical information on a computer system, and more particularly, the present invention relates to a computer controlled display system for organizing the display of a high volume of information and a user interface to allow the operator to readily view all sets of information.
A windowing environment is system software that manages interactions between a user and an application program executing on a computer through a graphical display monitor. Typically, the graphical display is arranged to resemble an electronic xe2x80x9cdesktopxe2x80x9d, and each sheet of information on the xe2x80x9cdesktopxe2x80x9d is displayed in a rectangular region of the screen called a xe2x80x9cwindowxe2x80x9d. The windows on the xe2x80x9cdesktopxe2x80x9d can be organized in a variety of different ways. They can be tiled so the contents of each window are totally visible to the operator, they can be overlapped so that the contents of a window partially overlays another window, or they can be stacked so that one window completely overlays another window. The windows on the desktop can be used to contain any object, including simple objects such as menus, forms and tables and complex objects such as spreadsheets and radar displays for air traffic control.
In a typical window-based Graphical User Interface (GUI) system (such as Microsoft Windows(copyright) or OSF Motif(copyright)), a variety of techniques are provided to the operator to manage the windows on the display. The windows can be made larger or smaller, they can be expanded to be the full screen size, they can be moved to a different position on the screen, or they can be reduced to an icon. An icon is a small, visually distinct display object which represents the window.
In a traditional office application, the windows are used to represent static information such as documents and spreadsheets. The content of a window changes only when a change is effected by the operator. However, there is a class of applications where the information in the windows changes dynamically independently of operator intervention. For example, in an Air Traffic Control display, one window may contain a geographic view of the airspace in which aircraft are plotted on the display according to their current position based on radar reports. Another window may have a dynamically changing table summarizing details about each aircraft including information such as current speed and altitude, which is updated based on radar reports.
One of the problems associated with window based graphical user interfaces is the necessity of carefully managing the display screen space. In many complex applications there is a great deal of information which must be displayed to the operator in multiple windows. However, with multiple windows, there is often not enough screen space (screen xe2x80x9creal estatexe2x80x9d) to concurrently view all the important information displayed in various windows. For example, in Air Traffic Control, the focus of the radar operator is on the main situation display window where the operator is tracking the movement of aircraft through the radar plots displayed in the window. The operator also needs to regularly be able to view additional information about the aircraft, weather conditions, etc., as displayed in other windows. However, at the same time, the operator needs to maintain full awareness of the main situation window which reflects the position of all aircraft. The ability to maintain a great number of windows on the screen without obscuring the main window of interest is desired. In these situations, it is too cumbersome and time consuming to use standard window manipulation techniques such as resizing or moving windows.
Other attempts to solve this problem usually involve one of two techniques. The first is to provide either a larger screen surface or multiple screen surfaces to provide enough space to display all of the required data. The drawbacks of this solution are that the additional screen space require more expense and the necessary room to accommodate larger or multiple screens may not be available. The other technique is to dedicate areas of the screen at which to place menus and tables. This reduces the amount of screen space for radar data and for other menus and/or tables which may be required and the operator no longer has the flexibility of deciding for himself the best mix of data for the situation at hand.
A still further problem is that the windowing systems on most modern computers (for X11 windows in the Unix environment) do not update data that lie directly beneath a window. Even if such a window is transparent, it will not be updated. Modern window systems typically cannot process input events on objects that are not drawn.
As will be disclosed, the present invention provides a method of designating windows as invisible so that information in background windows is not obscured, a user interface for viewing and hiding the data in the foreground window on demand, and a method for managing and rendering the displays when working with invisible windows.
One aspect of the present invention seeks to provide the operator with a rapid means of exposing/hiding information in windows. Another aspect of the invention seeks to provide a method and system for updating images which reside beneath a window.
With regard to the first aspect, the present invention provides a method and user interface technique that allows the operator to maintain a large number of windows all containing information necessary for the operator to perform his task, while at the same time not obscuring other windows which are essential to perform the task. This approach significantly increases operator productivity and also increases safety when employed in safety critical applications since it permits the operator to maintain maximum awareness of the main safety critical situation window, while still providing immediate access to the other information necessary for the operator to perform his task.
The invention operates in a standard environment of computer workstation with a graphical display. Information is displayed in xe2x80x9cwindows xe2x80x9d on the graphical display, and the operator interacts with the display with standard input devices such as a keyboard and a mouse. This invention may be embodied in an application program that executes on the workstation or any other type of program, including the Operating System which controls the workstation.
This invention consists of a user interface which provides the operator with a rapid means to expose and hide information in invisible windows. When the information in windows is hidden, the xe2x80x9cinvisiblexe2x80x9d windows can be totally invisible (i.e., there is no visual indication of their location), the windows may have a title bar that is visible, the windows may have a window border that is visible, or the windows may have a title bar and window border that is visible. These latter states provide the operator with a visual clue as to the location of the hidden window. In all these cases, the contents of the invisible window are not displayed and the background window is fully visible through the invisible window.
The user is provided the ability to designate each invisible window as xe2x80x9cnormalxe2x80x9d, xe2x80x9ctimedxe2x80x9d, xe2x80x9clockedxe2x80x9d, or timed iconxe2x80x9d. The user is also able to reduce an invisible window to an icon at any time. When an invisible window is reduced to an icon no window operations can be performed on the window until the icon is raised back into an invisible window.
When in xe2x80x9cnormalxe2x80x9d mode, the contents of the window are exposed when the cursor moves into the area of the window. The window contents can be exposed either by allowing the window to be displayed on an opaque background, which enhances legibility of the window contents, or on a transparent background, which enables the contents of the background windows to be visible underneath the invisible window. The window contents are hidden again by simply moving the cursor away from the window.
In xe2x80x9ctimedxe2x80x9d mode, the contents of the window are exposed in the manner described above for a specified period of time, at which time the window automatically returns to its invisible state. In the xe2x80x9clockedxe2x80x9d mode, the contents of the window are exposed in the opaque manner described above until another mode is selected for the window. In the xe2x80x9ctimed iconxe2x80x9d mode, the contents of the window are exposed in the manner described above for a specified period of time, at which time the window is automatically reduced to an icon.
With regard to the second aspect, the invention can render windows which are not directly contained in the computer""s native windows and provides unique drawing strategies to ensure that updates occur to data that lay beneath a given window.
Thus, windows can occupy the same display area, yet the operator can rapidly select which objects to view without losing situational awareness. The expense of larger screen surface area and the restriction of dedicated table/menu areas is eliminated.